// 搜索第一个函数形参指定的字符串，并在其中查找第2个函数形参指定的字符首次出现的位置。
// 如果成功 返回指向该字符的指针
// 如果在字符串中未找到指定字符则返回空指针
// 函数功能与strchr() 函数相同

#include <stdio.h>
#include <string.h>

char * my_strchr(const char * s, int c);
char * string_char(char *st, char c);

int main(void)
{
	char * p;
	char str [] = "bcdefg hijklmn opq rst uvw xyz";
	
	p = string_char(str, 'c');
	//p = my_strchr(str, 'c');
	puts(p);

	return 0;
}

char * my_strchr(const char *s, int c)
{
	int str_len = 0;
	int i;
	int gps = -1;
	const char * new_s = s;
	
	// 推出s的大小
	while (*s++ != '\0')
		str_len++;

	for (i = 0; i < str_len; i++)
	{
		if (new_s[i] == c)
		{
			gps = i;
			break;
		}	
	}
	if (gps == -1)
		return NULL;
	else
		new_s = new_s + i;		// 数组的位置后移i个位置

	return (char *)new_s; 
}

char * string_char(char * st, char c)
{
	while (*st != '\0')
	{
		if (*st == c)
			return st;
		else
			st++;
	}
	return NULL;
}
